const app = getApp()
Page({
  data: {
    movies: [],
    searchValue: '',
    hasMore: true,
    page: 1,
    size: 20,
    // list模板tip的遮罩
    mask: true,
    // 搜索图标左移数据
    left: 320
  },

  // 软键盘按钮和搜索按钮方法
  bindSearch: function (e) {
    this.setData({
      movies: [],
      hasMore: true,
      page: 1
    })
    this.setData({
      mask: this.data.searchValue ? false : true
    })
    this.loadMore()
  },

  // input数据同步
  bindinput: function (e) {
    this.setData({
      searchValue: e.detail.value
    })
  },

  // 搜索框聚焦时，图标移到左边
  bindfocus: function (e) {
    this.setData({
      left: 62
    })
  },

  // 搜索框失焦时且无内容时，图标移到中间
  bindblur: function (e) {
    if (this.data.searchValue === '') {
      this.setData({
        left: 320
      })
    }
  },

  loadMore() {
    let _this = this
    if (!_this.data.hasMore || !_this.data.searchValue) {
      return
    }
    // 搜索电影名称、导演、演员等
    app.douban.search(_this.data.searchValue, _this.data.page++, _this.data.size, function (res) {
      // 若获取条数等于默认20条，则还有数据，loading继续
      if (res.data.subjects.length && (res.data.subjects.length === _this.data.size)) {
        _this.setData({
          movies: _this.data.movies.concat(res.data.subjects)
        })
      }
      // 若获取条数小于默认20条，则没有跟多数据，loading结束
      else if (res.data.subjects.length && (res.data.subjects.length < _this.data.size)) {
        _this.setData({
          movies: _this.data.movies.concat(res.data.subjects),
          hasMore: false
        })
      }
      else {
        _this.setData({
          hasMore: false
        })
      }
    })
  },

  onLoad: function (options) {

  },

  onReachBottom: function () {
    this.loadMore()
  },
})